场景相机 Sample详情

最后更新时间:2019年6月17日

场景相机是一个虚拟镜头的概念,是用来描述三维场景中的视角的对象。通过相机Camera对象中的各项参数可以控制场景中展示的视图及其位置方向等。

一、交互方式

可以通过手势交互来控制场景相机的航向角、俯仰角等参数,来实现不同视图效果。

二、代码实现

也可以通过接口控制场景相机的位置、方向等。场景相机对应com.zondy.mapgis.android.sceneview.Camera类,由7个关键参数控制,对应7个字段属性:

字段 说明
com.zondy.mapgis.core.geometry.Dot3D location 相机地理坐标(坐标定义:X轴朝右,Y轴朝屏幕内,Z轴朝上)
double headingAng 方位角,范围是0-360度(绕Z轴以逆时针方向旋转)
double pitchAng 俯仰角 ,范围是-90至90度(绕X轴以逆时针方向旋转)
double rollAng 滚动角,范围是0-360度(绕Y轴以逆时针方向旋转)
double fov 视场角
double nearPlane 设置近裁减面(不能为0,且不能和远裁减面的值相等)
double farPlane 设置远裁减面(不能设置为0,且不能和近裁减面的值相等)

通过场景视图的setViewPointCamera()方法可设置场景视图的相机,由相机对象指定地理坐标、方位角、倾斜角、滚动角等参数。实现方法如下:

//构造场景相机对象,设置地理位置、方位角、俯仰角、滚动角
Camera camera=new Camera();
camera.setLocation(new Dot3D(100, 50, 600));
camera.setHeadingAng(60.0);
camera.setPitchAng(80.0);
camera.setRollAng(80.0);
//为场景视图设置相机
mSceneView.setCamera(camera);

场景相机.jpg